package org.jsola.hr.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.jsola.core.vo.BaseVO;

import java.util.Date;
import java.util.List;

import static org.jsola.core.example.BaseExample.E_GMT_CREATE;
import static org.jsola.core.example.BaseExample.E_GMT_MODIFIED;
import static org.jsola.core.example.BaseExample.E_ID;
import static org.jsola.core.example.BaseExample.N_GMT_CREATE;
import static org.jsola.core.example.BaseExample.N_GMT_MODIFIED;
import static org.jsola.core.example.BaseExample.N_ID;
import static org.jsola.hr.example.ApplyToProgExample.*;
import static org.jsola.hr.example.ApplyToProgExample.E_BUS_PROG_ID;
import static org.jsola.hr.example.ApplyToProgExample.E_BUS_PROG_TYPE;
import static org.jsola.hr.example.ApplyToProgExample.E_COMPANY_ID;
import static org.jsola.hr.example.ApplyToProgExample.E_EMPLOY_RANGE;
import static org.jsola.hr.example.ApplyToProgExample.E_EMPLOY_TYPE;
import static org.jsola.hr.example.ApplyToProgExample.N_BUS_PROG_ID;
import static org.jsola.hr.example.ApplyToProgExample.N_BUS_PROG_TYPE;
import static org.jsola.hr.example.ApplyToProgExample.N_COMPANY_ID;
import static org.jsola.hr.example.ApplyToProgExample.N_EMPLOY_RANGE;
import static org.jsola.hr.example.ApplyToProgExample.N_EMPLOY_TYPE;

/**
 * @author zhr
 */
@EqualsAndHashCode(callSuper = true)
@ApiModel(description = "【方案适用设置】详情展示对象")
@Data
public class ApplyToProgVO extends BaseVO {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(notes = N_ID, example = E_ID)
    private String id;

    @ApiModelProperty(notes = N_BUS_PROG_TYPE, example = E_BUS_PROG_TYPE)
    private String busProgType;

    @ApiModelProperty(notes = N_BUS_PROG_ID, example = E_BUS_PROG_ID)
    private String busProgId;

    @ApiModelProperty(notes = N_EMPLOY_TYPE, example = E_EMPLOY_TYPE)
    private String employType;

    @ApiModelProperty(notes = N_EMPLOY_RANGE, example = E_EMPLOY_RANGE)
    private String employRange;

    @ApiModelProperty(notes = N_APPLY_TO_DEP, example = E_APPLY_TO_DEP)
    private List<ApplyToProgDepVO> applyToProgDepVOList;

    @ApiModelProperty(notes = N_APPLY_TO_POSITION, example = E_APPLY_TO_POSITION)
    private List<ApplyToProgPositionVO> applyToProgPositionVOList;

    @ApiModelProperty(notes = N_APPLY_TO_LEVEL, example = E_APPLY_TO_LEVEL)
    private List<ApplyToProgLevelVO> applyToProgLevelVOList;

    @ApiModelProperty(notes = N_COMPANY_ID, example = E_COMPANY_ID)
    private String companyId;

    @ApiModelProperty(notes = N_GMT_CREATE, example = E_GMT_CREATE)
    private Date gmtCreate;

    @ApiModelProperty(notes = N_GMT_MODIFIED, example = E_GMT_MODIFIED)
    private Date gmtModified;




}

